ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック
ブランチの利用用途についてあまり明確な答えを持っていなかったので、改めて整理できた
20章 効果的なバージョンコントロール
ブランチ:木を見て森を見る
ブランチは以下の用途で使われる
各人の開発のための実験場として個人の作業のため
リスクの高い実験のため
インテグレーションやテスト領域を定義するチームの協業を助けるため
リリース管理
例えば
個別のバグ修正。バグ修正に取り組むためのブランチを作成し、修正をテストし、障害が解決したらそのブランチをマージする
ブランチは使いべきであり、組織化の優れた仕組みである
別のブランチに分けられる関係のないものでメインの開発ラインを混乱させないこと
23章 プリーズ・リリース・ミー
通常のブランチは、変更を閉じ込める。作業完了時に、そのブランチをメインラインへマージするか、破棄する
一方、リリースブランチは逆の理由で作成される
コードベース内で安定性を保証したい時点に印を付ける
ソフトウェアリリース用のブランチを一旦作成したら、ソフトウェアリリースを阻害する心配をせずにコードのメインラインで新しい機能を開発できる
コード凍結のための仕組みを提供する
リリースブランチはtrunkへマージして戻されない。なぜなら、リリースブランチでは新たな開発は行わないため。全ての開発はtrunkで行われ、そこで正しいことをテストされ、それからリリースブランチへマージされる
優れたリリースプロセスは必ずしもリリースブランチを必要としない
厳密に開発されて、健全な自動化されたテストを使うことで、コードのメインラインを永続的に出荷可能状態に保てば、リリースブランチの手順をすべて省略できる
24章 学びを愛して生きる
何を学ぶべきか
知っているとわかっていることがあります。つまり、知っていることを分かっています。知らないと分かっていることがあります。つまり、知らない何かがあることを分かっています。しかし、知らないことを分かっていないことがあります。つまり、知らないことすら分かっていないのです。
究極的には面白いと思うものを選んでください
あなたのためになるものを選んでください
多くの時間を投資するので賢く投資してください
See also: 学び方を学ぶ
能力の四段階(Four Stages of Competence, 心理学者 Abraham Maslow)
自覚のある無能(conscious incompetence)
自覚のある有能
自覚のない有能
自覚のない無能
スキル獲得のドレイファスモデル(Dreyfus model of skill acquisition)
ある話題をマスターするために今どの段階にいるかを理解し、どこに到達する必要があるかを決めるのに役立つフレームワーク
ドレスファスモデルの五段階のレベル
1. 初心者
2. 初級者
3. 中級者
4. 上級者
5. 専門家
達人プログラマーで挙げられた比喩
集めてきた情報をどのように管理し、ポートフォリオを最新に保つために慎重に投資し、ポートフォリオを強化するために新たな投資を行う
History
2020/6/21 流し読みからのメモ